/* eslint-disable @typescript-eslint/no-inferrable-types */
import { FindOperatorType } from 'typeorm/find-options/FindOperatorType';

/**
 * Find Operator used in Find Conditions.
 */
export class FindOperator<T> {
  // readonly '@instanceof' = Symbol.for('FindOperator');
  __FO: 1 = 1;

  t: FindOperatorType;

  v: T | FindOperator<T>;

  constructor(
    type: FindOperatorType,
    value: T | FindOperator<T>,
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    useParameter: boolean = true,
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    multipleParameters: boolean = false
  ) {
    this.t = type;
    this.v = value;
  }
}
